﻿namespace Sidvall.LogManager.Data.Model
{
    public sealed partial class GenericEntityFacade : global::Sidvall.LogManager.Data.Model.EntityFacadeBase
    {
        #region Public Members

        #region LogScopeManager

        private global::Sidvall.LogManager.Data.Model.EntityManagers.LogScopeManager<global::Sidvall.LogManager.Data.ILogScope, Sidvall.Data.IDataRowProvider<global::Sidvall.LogManager.Data.ILogScope>> _LogScopeManager;
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
        public global::Sidvall.LogManager.Data.Model.EntityManagers.LogScopeManager<global::Sidvall.LogManager.Data.ILogScope, Sidvall.Data.IDataRowProvider<global::Sidvall.LogManager.Data.ILogScope>> LogScopeManager
        {
            get
            {
                return _LogScopeManager;
            }
            private set
            {
                _LogScopeManager = value;
            }
        }

        #endregion
        #region LogScopeItemManager

        private global::Sidvall.LogManager.Data.Model.EntityManagers.LogScopeItemManager<global::Sidvall.LogManager.Data.ILogScopeItem, Sidvall.Data.IDataRowProvider<global::Sidvall.LogManager.Data.ILogScopeItem>> _LogScopeItemManager;
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
        public global::Sidvall.LogManager.Data.Model.EntityManagers.LogScopeItemManager<global::Sidvall.LogManager.Data.ILogScopeItem, Sidvall.Data.IDataRowProvider<global::Sidvall.LogManager.Data.ILogScopeItem>> LogScopeItemManager
        {
            get
            {
                return _LogScopeItemManager;
            }
            private set
            {
                _LogScopeItemManager = value;
            }
        }

        #endregion
        #region LogScopeItemCategoryManager

        private global::Sidvall.LogManager.Data.Model.EntityManagers.LogScopeItemCategoryManager<global::Sidvall.LogManager.Data.ILogScopeItemCategory, Sidvall.Data.IDataRowProvider<global::Sidvall.LogManager.Data.ILogScopeItemCategory>> _LogScopeItemCategoryManager;
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
        public global::Sidvall.LogManager.Data.Model.EntityManagers.LogScopeItemCategoryManager<global::Sidvall.LogManager.Data.ILogScopeItemCategory, Sidvall.Data.IDataRowProvider<global::Sidvall.LogManager.Data.ILogScopeItemCategory>> LogScopeItemCategoryManager
        {
            get
            {
                return _LogScopeItemCategoryManager;
            }
            private set
            {
                _LogScopeItemCategoryManager = value;
            }
        }

        #endregion
        
        #endregion
        #region Helper Members

        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Maintainability", "CA1506:AvoidExcessiveClassCoupling")]
        private void Init()
        {
            this.LogScopeManager = new global::Sidvall.LogManager.Data.Model.EntityManagers.LogScopeManager<global::Sidvall.LogManager.Data.ILogScope, Sidvall.Data.IDataRowProvider<global::Sidvall.LogManager.Data.ILogScope>>(this);
            this.LogScopeItemManager = new global::Sidvall.LogManager.Data.Model.EntityManagers.LogScopeItemManager<global::Sidvall.LogManager.Data.ILogScopeItem, Sidvall.Data.IDataRowProvider<global::Sidvall.LogManager.Data.ILogScopeItem>>(this);
            this.LogScopeItemCategoryManager = new global::Sidvall.LogManager.Data.Model.EntityManagers.LogScopeItemCategoryManager<global::Sidvall.LogManager.Data.ILogScopeItemCategory, Sidvall.Data.IDataRowProvider<global::Sidvall.LogManager.Data.ILogScopeItemCategory>>(this);
        }

        #endregion
        #region Constructors

        public GenericEntityFacade(global::Sidvall.Data.IResourceFactory resourceFactory)
            : base(resourceFactory)
        {
            Init();
        }
        public GenericEntityFacade(global::Sidvall.LogManager.Data.Model.IEntityFacadeManager entityFacadeManager)
            : base(entityFacadeManager)
        {
            Init();
        }

        #endregion
    }
}